#ifndef __USER_APP_H
#define __USER_APP_H

#include "main.h"
#include "string.h"
#include "stdio.h"

#define IWDG_FLAG 0 // 0关闭看门狗、1打开看门狗

#define MB_R_HEARTBEAT 0x0000    // 心跳 报警信息+连接状态
#define MB_W_HEAT_START 0x0001   // 加热程序开始 时间+水量
#define MB_W_HEAT_STOP 0x0002    // 加热程序停止
#define MB_R_HEAT_STATE 0x0003   // 加热程序状态
#define MB_RW_HEAT_SWITCH 0x0004 // 加热开关
#define MB_RW_WATER_VALVE 0x0005 // 进水阀门
#define MB_R_KETTLE_STATE 0x0006 // 水壶状态
#define MB_R_SPILL_STATE 0x0007  // 水溢出状态
// #define MB_R_WATER_TEMP 0x0008   // 水温 0~100℃
#define MB_R_HEAT_TIM 0x0008    // 加热剩余时间
#define MB_R_WATER_VALUE 0x0009 // 剩余水量

// 单片机信息
typedef struct
{
    uint8_t m_Set_Heat_Tim;      // 设定加热时间
    uint8_t m_Now_Heat_Tim;      // 现在的加热剩余时间
    uint16_t m_Set_Water_Volume; // 设定水的容量
    uint16_t m_Now_Water_Volume; // 现在的水的剩余容量
    uint8_t m_KettleFlag;        // 水壶检测标志 1有0无
    uint8_t m_SpillFlag;         // 溢出标志 1溢出0无溢出
    uint8_t m_WaterlineFlag;     // 水位标志 1到水位0是未到水位
} mcu_info_t;

extern mcu_info_t info;

void User_App(void);
void LED_Run_Debug(void);
void bsp_Set_Beep(uint8_t num);

#endif
